package com.xavier.dong.netty.inboundhandlerandoutboundhandler;

import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.ReplayingDecoder;

import java.util.List;

/**
 * @author XavierDong
 **/
public class MyByteToLongDecoder2 extends ReplayingDecoder<Void> {

    /**
     * Void 就是 不需要 状态 管理
     *
     * @param ctx
     * @param in
     * @param out
     * @throws Exception
     */
    @Override
    protected void decode(ChannelHandlerContext ctx, ByteBuf in, List<Object> out) throws Exception {

        System.out.println("MyByteToLongDecoder2 被调用.");

        // 不需要判断 数据 足够读取。内部会进行处理和判断
        out.add(in.readLong());
    }
}
